package Day_0215.JVM;

/**
 * @author zxc
 * @date 2023/02/15 18:03
 **/
public class Move_StringTable {
    public static void main(String[] args) {
        /**
         * 谈一谈对于JDK7及以后，将字符串常量池移动到堆中的理解
         * ===》
         * （1）JDK7中将字符串常量池放到了堆空间中：因为永久代的回收效率很低;
         * （2）永久代的垃圾回收，有且仅在在Full GC时，才会触发;
         *  而FullGC在老年代的空间不足、永久代不足时才会触发，这就导致字符串常量池回收效率不高;
         * （3）而我们开发中会有大量的字符串被创建，回收效率低会导致永久代内存不足。
         * （4）将字符串常量池放到堆里，能及时回收内存，提高字符串的垃圾回收效率，从而很大程度上避免了永久代内存不足问题;
         *
         */
    }
}
